#amk 2

#spc
{
    #title   "Beware the Forest's Mushrooms"
    #game    "Super Mario RPG"
    #author  "Yoko Shimomura"
    #comment "Ported by KevinM"
}

#path "smrpg-forest"

#samples
{
    #optimized
    "Oboe.brr"
    "French Horn.brr"
    "Strings (Low).brr"
    "Pizzicato Strings.brr"
    "Strings.brr"
    "Glockenspiel.brr"
    "Bassoon.brr"
}

#instruments
{
    "Oboe.brr"              $FF $E0 $00 $03 $8E ; @30
    "French Horn.brr"       $FF $E0 $00 $02 $3E ; @31
    "Strings (Low).brr"     $FF $F2 $00 $02 $FE ; @32
    "Pizzicato Strings.brr" $FF $F7 $00 $01 $7F ; @33
    "Strings.brr"           $FF $E0 $00 $07 $2E ; @34
    "Glockenspiel.brr"      $DF $53 $00 $04 $DF ; @35
    "Bassoon.brr"           $FF $E0 $00 $02 $3E ; @36
}

;==================;
; Volume  /  Tempo ;
;==================;
   w130       t38

; Orig. vol.: w255

;==================;
;       Echo       ;
;==================;
$EF $FF $20 $20
$F1 $0C $28 $01
    ;^^ change to $0B (or less) if you need space

;==================;
;     Commands     ;
;==================;
(!1)[$F4 $09]
(!2)[$ED $7F $FD]
(!3)[$ED $7F $FA]

;==================;
;    Channel #0    ;
;==================;
#0 $F4 $02 $FA $03 $37 /
@30 v255 y10 o3 l32
a+16 > c r c+ r d+ r f r16. a+24 r12
g+24 r12 f16 r16 g48 g+48 g8. r48
g+16 r16 f r g r g+16 r16 g r d+ r
c r16. c+ r16. c48 c+48 c8 r12 <
a+16 > c r c+ r d+ r c+16 r16 c r c+ r
d+8 c+64 d+64 c+ c r < a+8. r16
> d+16 r16 c+ r c r < a+16 r16 > c r c+ r
d+16 r16 c+64 d+64 c+ d+ r f8. r16 <
f16 g+ r a+ r > c r c+ r16. f24 r12
f24 r12 c+16 r16 d+48 f48 d+8. r48
f16 r16 c+ r d+ r f16 r16
d+ r < a+ r g r16. g+ r16.
g+48 a+48 g+8 r12 f+16 g+ r
a+ r > c r < a+16 r16 a r
a+ r > c8 < a+64 > c64 < a+ g+ r
f+8. r16 g+16 r16 f+ r f r d+16 r16 f r
f+ r g+16 r16 g+64 a+64 g+ a+ r > c8

@31 y8 p0,13,18
v185 > f+ r f+ r
v148 f+1 e2 $E8 $60 $5E ^2

(999)[r4]7

@30 v232 y10 $DF <
a+16 g+24 r48 f+24 r48 f24 r48 d+16 f r f+ r g+ r
a+ r16. > d+24 r12 c+24 r12 < a+16 r16
> c48 c+48 c8. r48 c+16 r16 < a+ r
> c r c+16 r16 c r < g+ r
f r16. f+ r16. f48 f+48 f8 r12
d+16 f r f+ r g+ r f+16 r16
f r f+ r g+8 f+64 g+64 f+ f r
d+8. r16 g+16 r16 f+ r f r
d+16 r16 f r f+ r g+16 r16
f+64 g+64 f+ g+ r a+8. r16

@31 v226 y8
e16 f+24 r48 g24 r48 a24 r48 b24 r12 > e16 r16 g8
f+24 r48 e24 r48 d24 r12 < b16 r16 > e8
d24 r48 c24 r48 < b16 r16 a16 r16 g8 f+8 g8 a8

@30 v254 y10
d+16 f r f+ r g+ r a+ r16. > d+24 r12
f+8 f24 r48 d+24 r48 c+24 r12 < a+16 r16
> d+8 c+24 r48 < b24 r48 a+24 r12 g+16 r16
f+8 f8 f+8 g+8

v218 g4 p96,21,60 a+2 $E8 $90 $4F ^2^4 r4 $DF

v244 f16 d+24 r48 c+ r c r

;==================;
;    Channel #1    ;
;==================;
#1 $FA $03 $41 v255 l8 /
[@32 q7E y10 o4 f+ @33 q7F y11 o3 f+]3
@32 q7B y10 o4 b @33 q7F y11 o3 b
$FA $02 $03 *2
$FA $02 $05 *1
$FA $02 $FE *1
$FA $02 $FC *4
$FA $02 $FE *3
$FA $02 $FB *1
$FA $02 $00 *3
$FA $02 $05 *1
$FA $02 $03 *2
$FA $02 $05 *1
$FA $02 $FE *1
$FA $02 $FC *4
$FA $02 $FE *3
$FA $02 $07 *1
$FA $02 $00 @32 q7E y10 o4 r4 f+2 f+2 e2 e2 f+2 f+4 v232 *2 v245 *1 v255 *1
$FA $02 $05 *3
$FA $02 $0A *1
$FA $02 $08 *2
$FA $02 $0A *1
$FA $02 $03 *1
$FA $02 $01 *4
$FA $02 $03 *3
$FA $02 $0C *1
[[
$FA $02 $05 *3
$FA $02 $03 *1
$FA $02 $01 *2
$FA $02 $00 *2
]]2
[[@32 q7E y10 o4 b @33 q7D y11 o3 b]]4
q7F @32 v245 y10 o4 b @33 v240 y11 o4 b
@32 v245 y10 o4 b @33 y11 o4 b
@32 y10 o4 b @33 v250 y11 o4 b
@32 v245 y10 o5 c+ @33 v255 y11 o4 c+

;==================;
;    Channel #2    ;
;==================;
#2 (!1,-1) (!2,3) /
(999)16

@34 v175 y12 o4 l32
f16 g r g+ r a+ r
> c r16. f24 r12 d+24 r12 c16 r16
d48 d+48 d8. r48 d+16 r16 c r d r
d+16 r16 d r < a+ r g r16. g+ r16.
g48 g+48 g8 r12 f16 g r g+ r a+ r
g+16 r16 g r g+ r a+8 g+24 r48 g r
f8. r16 a+16 r16 g+ r g r
f16 r16 g r g+ r a+16 r16 g+24 r48
a+ r > c8 <

@31 y8 p0,13,22
v204 b r b r v143 b1 a2 $E8 $60 $65 ^2

(999)7

@34 v175 y12 $DF
f16 d+24 r48 c+24 r48 c24 r48 < a+16 > c r c+ r d+ r
f r16. a+24 r12 g+24 r12 f16 r16
g48 g+48 g8. r48 g+16 r16 f r g r
g+16 r16 g r d+ r c r16. c+ r16.
c48 c+48 c8 r12 < a+16 > c r c+ r d+ r
c+16 r16 c r c+ r d+8 c+24 r48 c r
< a+8. r16 > d+16 r16 c+ r c r
< a+16 r16 > c r c+ r d+16 r16 c+24 r48 d+ r

v204 f16 d+24 r48 c+24 r48 c24 r48 < a+16 >

v189 c r c+ r d+ r f r16. a+24 r12
> c+8 c24 r48 < a+24 r48 g+24 r12 f16 r16
a+8 g+24 r48 f+24 r48 f24 r12 d+16 r16
c+8 c8 c+8 d+8

v160 f2 < a+4 > c4 c+4. c8 < a+8 a8 a+8 > c8 < a+2^4 $E8 $90 $10 ^2^4 r2

;==================;
;    Channel #3    ;
;==================;
#6 $FA $03 $40 v254 /
@35 q7F y8 o4 l16
[[c+ d+ e f+ g+8 > c+8 < b8 g+8 a+48 b48 a+=40 b8 g+ a+ b8 a+ f+ d+8 e8 d+48 e48 d+=40
c+ d+ e f+ e8 d+ e f+8 e64 f+64 e32 d+ c+4 f+8 e d+ c+8 d+ e f+8 e64 f+64 e32 f+ g+4]]2

q7A
[[d+ e g+ > c+ <]]4 [[c+ d f+ b]]4 [[f g+ b > c+ <]]8

(999)32

[[f+ g+ a+ b > c+8 f+8 <]]3
f+ g+ a+ b d+8 g+8

;==================;
;    Channel #4    ;
;==================;
#4
@36 v178 y10 o4 l8 q2F (!1,-1) (!2,3) /
[c+ g+ c+ g+ c+ g+ f+ > c+ << e b e b f+ > c+ < b > f+ < a > e < a > e < a > e < a > e < b > f+ < b > f+ < b > f+] < g+ > d+
* g+ > d+ <
v165 c+ g+ g+ c+ c+ g+ g+ c+ < b > f+ f+ < b b > f+ f+ < b > c+ g+ g+ c+ c+ g+ g+ c+
v132 c+ g+ v150 c+ g+ v165 c+ g+ c+ g+
v178 < f+ > c+ < f+ > c+ < f+ > c+ < b > f+ < a > e < a > e < b > f+ e b d a d a d a d a e b e b e b c+ g+
[[f+ > c+ < f+ > c+ < f+ > c+ < e > c+ < d a d a c+ g+ c+ g+]]2
[[< f+ > c+]]7 g+ > d+ <

;==================;
;    Channel #5    ;
;==================;
#5 /
@34 y14 o4 l8
v95 f2 d+4 d4 c2 d d+ f g g+2 f2 a+4.
v116 g+ v136 g g+ v152 g v163 y15 d+
v95 y14 c2^4 d4 d+2 d4 d+4

(50)[v178 o3 q2F (!1,-1) (!3,3)
c+ f f c+ c+ f f c+
d+ g g d+ d+ g g d+
(!0,0) @34]

v196 y13 o3 q7F f2 d+4 c+4 c2 < a+4 g+4 f+1 f1

@31 v136 y6 p0,13,24 >> b2^4 a4 g2 a2 > c1 d2^4 d+4

@34 y14 $DF << f2^4 d+4 c+2 c2

@31 y6 p0,13,24 > g2^4 a4 > c2 < b2 b1^2^4

@34 v95 y14 $DF c4

;==================;
;    Channel #6    ;
;==================;
#3 /
@34 y6 o3
v95 g+2^4 a+4 g+2 a+8 > c8 < a+8 a+8 > c+1 d+2^4
v116 c4 v95 < f1 g+2 a+4 a+4

$FA $02 $FB (50) $FA $02 $00

v189 y7 o3 q7F c2 c4 < a+4 f+2 f+4 f4 d+1 c1

@31 v136 y14 p0,13,24 >> g2^4 e4 d2 e4 f+4 g1 a1

@34 y6 $DF < c+2^4 c4 < a+2 a2

@31 y14 p0,13,24 >> e2^4 f+4 g2 f+2 g+1^2^4

@34 v95 y6 $DF < g4

;==================;
;    Channel #7    ;
;==================;
#7 $FA $03 $40 /
@33 v255 y9 o4 l4 q2F r8
[c+ c+ c+ f+ e e f+ < b a a a a b b b >] < g+ >
* g+

(999)12

v233 c+ c+ v245 c+
v255 c+ f+ f+ f+ b a a b e d d d d e e e > c+ < [[f+ f+ f+ f+ d d c+ c+]]2
v233 f+ f+ f+ f+ > f+ v240 f+ v245 f+ v200 < q7F g+8
